home *** CD-ROM | disk | FTP | other *** search
/ Suzy B Software 2 / Suzy B Software CD-ROM 2 (1994).iso / extras / database / easyd121 / doc / easydat.txt < prev    next >
Text File  |  1995-04-27  |  30KB  |  700 lines

  1. Easydat Version 1.20
  2.  
  3. Anleitung
  4. oder
  5. etwas in der Art
  6.  
  7.  
  8. von Marco Feikert
  9. Wüstlautenbach 17, 55743 Idar-Oberstein 1
  10. Tel. 06781/23469 (Wochenende)
  11. Email: feikert(at)informatik.uni-kl.de oder feikert(at).uni-kl.de
  12.  
  13. oder
  14. Kurt Schumacherstr.8 
  15. 67663 Kaiserslautern
  16. Tel. 0631/22910
  17. (ist immer noch gültig)
  18.  
  19. Dieses Programm ist SHAREWARE. Anschauen und Ausprobieren erlaubt, bei
  20. Benutzung bitte mir den Betrag von 40 DM zukommen lassen. Für eine Leerdisk
  21. und einen Rückumschlag gibt es die neueste Version des Programmes (insofern
  22. eine existiert, aber ich bin zuversichtlich...).
  23.  
  24. Fehlermeldungen sind immer willkommen ... auch von solchen die noch nicht re-
  25. gistriert sind..
  26.  
  27. - - - - -
  28.  
  29. English Section
  30.  
  31. This program is Shareware. You can take a look at it and test it, but if you use
  32. it, please send me the amount of 40 German marks (25 Dollars), or calculate it
  33. into your local currency. If you send me also an empty disk and a self adressed
  34. envelope, you will receive the newest version of Easydat. (If one exists, but i
  35. hope so..., or take a look at some internet-atari-ftp-archives).
  36.  
  37. Bug reports are always welcome ... from anyone.
  38.  
  39. An english version of this file will follow some time later.
  40. - - - - -
  41.  
  42. Pre-Story - Vorgeschichte:
  43.  
  44. Auf dem Spielrechner von Commodore, namens Amiga, gab es mal, bzw. viel-
  45. leicht gibt es das noch, ein Programm namens GO-Amiga Datei. Dieses war ei-
  46. ne recht einfach aufgebaute und gut zu bedienende Datenbank, mit welcher
  47. man, soweit ich mich noch erinnern kann, auch Bilder und Sounds (Samples)
  48. verwalten konnte. Da ich mich aber immer ungern mit dem Amiga herumnervte,
  49. entschlo₧ ich etwas in der Art auf dem Atari zu schreiben, in dem Fall ohne
  50. Bilder und Sound Verwaltung ... braucht man zu selten.
  51. Easydat hat nicht tausende von verzwickten Möglichkeiten eine Datenbank auf-
  52. zubauen, wie etwa Phoenix((tm)-(Applications Systems Heidelberg)) oder ande-
  53. re grö₧ere Applikationen, die Funktionen von Easydat reichen aber völlig aus,
  54. um Sammlungen oder ähnliches gut und schnell zu verwalten.
  55.  
  56. Die erste Version (for my eyes only) entstand in GFA-Basic 3.5, ohne Fenster,
  57. ohne Resourcedatei und mit max. Stringlänge von 67 Zeichen. Danach wurden
  58. Fenster und Resourcen eingebaut ... und das Programm lief immer noch. Dann
  59. folgte eine variable Stringlänge von bis zu 255 Zeichen ... und das gab dann Är-
  60. ger. Aus unerfindlichen Gründen hängte sich das Programm damit öfters auf.
  61. GFA-Basic scheint es mit der Stringverwaltung nicht so ganz ernst zu nehmen,
  62. oder ich nahm GFA Basic nicht ernst genug. Darauf schrieb ich das ganze auf
  63. Pure Pascal um ... und siehe da, es lief wieder. Die Sourcecodelänge beläuft
  64. sich zur Zeit auf etwa 350 KB.
  65.  
  66.  
  67. Das Programm ist keine von den Datenbanken, die nur einen Teil ihres Inhaltes
  68. im Speicher halten und die direkt auf einen Datensatz von (Hard)Disk zugreifen
  69. können. Hier steht alles auf einmal im Ram. Wenn abgespeichert wird, dann
  70. wird alles abgespeichert. Ist zwar nicht so schoen, aber man kann gut mit le-
  71. ben.
  72.  
  73.  
  74. Systemvorraussetzungen
  75.  
  76. Atari ST/STE/TT/Falcon mit mindestens 640x400 Punkten Bildschirmauflö-
  77. sung. Arbeitet auch in Farbauflösungen mit entsprechend hoher Auflösung.
  78.  
  79.  
  80.  
  81. Files auf der Diskette
  82.  
  83. easydat.prg :  
  84. Easydat. Das Hauptprogramm.
  85. Der Sourcecode ist recht umfangreich. Es kann noch vorkommen, da₧ es hier
  86. und da zu unwillkommenen Ereignissen kommt (was ich natürlich nicht hoffe).
  87.  
  88. import.prg :
  89. Dateiimporter. Anleitung nicht vorhanden. Im Grunde ist er recht einfach zu be-
  90. dienen. Es können (zur Zeit?) nur Ascii Dateien importiert werden. Absolut aus-
  91. getestet ist er, an Ermangelung an Beispieldateien, nicht. Sollte der Importer
  92. mit einer bestimmten Datei Probleme haben, bitte mir einen Auschnitt (ein paar
  93. KB) der Datei zusenden und ich werde versuchen das Problem zu beheben.
  94.  
  95. printer.inf :
  96. Druckervoreinstellungen. Kann nicht direkt editiert werden. Ist die Datei nicht
  97. vorhanden, dann werden Defaultwerte genommen. (Drucker: Mannesmann MT-
  98. 81, 9-Nadel)
  99. Abgespeichert auf Disk werden die Ausdruckoptionen (s.u.) und die Druckerein-
  100. stellungen.
  101.  
  102. easydat.inf:
  103. Diverse Voreinstellungen. Kurze Erklärungen sind in der Datei enthalten.
  104.  
  105. easydat.rsc, import.rsc :
  106. Resourcedatei für Easydat und den Importer.
  107.  
  108. *.msk : 
  109. Datenbank: Maskendatei. Enthält die Daten die bei der Erzeugung der Sparten
  110. der Datei angegeben wurden und noch etwas mehr.
  111.  
  112. *.dat :
  113. Datendatei: Enthält eingegebene Daten.
  114.  
  115. tbs.msk, tbs.dat: Beispieldateien.
  116.  
  117. easydat.doc:
  118. Diese Anleitung.
  119. easydat.rtf:
  120. Anleitung im Rich Text Format
  121.  
  122. version.doc:
  123. Änderungen in neueren Versionen.
  124.  
  125.  
  126.  
  127. Im folgenden werden alle Menupunkte und Kommandos von Easydat erläutert,
  128. wobei einige der angesprochenen Dinge wohl etwas unverständlich sind. Aller-
  129. dings sollte man mit dem Programm etwas arbeiten, dann wird sich dieses Pro-
  130. blem wohl erledigen. An diversen Stellen finden sich Hilfeseiten im Programm,
  131. die einem weiterhelfen. 
  132.  
  133.  
  134. Bildschirmmenus: 
  135.  
  136. Auswahl per Maus oder Tastatur.
  137. Crsr Up/Down    :  Auswahlbalken hoch/runter.
  138. Clr/Home          :  Oberster Eintrag
  139. Insert                 :  Unterster Eintrag
  140. Return               :  Auswählen
  141. Einträge die `Highlighted║ sind können nicht angewählt werden.
  142.  
  143.  
  144. I - Das Maskenmenu 
  145. ---------------------
  146. Dieses Menu ist das erste (gro₧e), das nach dem Programmstart erscheint. 
  147.  
  148.   1 - Programm verlassen:
  149. Programm verlassen mit Abfrage.
  150.  
  151.   2 - Aktuelle Datei verwerfen:
  152. Datei, die sich im Speicher befinden, aus diesem entfernen. Datei auf (Hard-
  153. )Disk bleibt erhalten.
  154.  
  155.   3 - Datei löschen:
  156. Eine Datei kann ausgewählt werden. Es erfolgt eine Sicherheitsabfrage.
  157.  
  158.   4 - Export:
  159. Siehe Exportmenu.
  160.  
  161.   5 - Sparte entfernen.
  162. Auf einer Übersichtsseite werden alle vorhandenen Sparten angezeigt. Falls
  163. nicht alle auf eine Bildschirmseite passen, kann mittels der Maus bzw. den Cur-
  164. sortasten geblättert werden. Durch die Maus oder 1..8 auf der Tastatur lä₧t sich
  165. eine Sparte selektieren. Anwählen von ║Sparte entfernen║ im Menu führt zu ei-
  166. nem Löschen derselben. Die zugehörige Masken- (.msk) und Datendatei (.dat)
  167. wird eingeladen, wobei, bei diesem Vorgang, die gewählte Sparte entfernt wird.
  168. Ist der Vorgang abgeschlossen, dann sollte die Datei neu abgespeichert werden,
  169. andernsfalls liegt sie auf (Hard)Disk NICHT geändert vor. Sparten müssen ein-
  170. zeln gelöscht werden, immer eine auf einmal.
  171.  
  172.   6 - Dateiausgabemenu (Disk/Drucker)
  173. Siehe Dateiausgabemenu.
  174.  
  175.   7 - Hinzufügen von Sparten / Neue Datei eröffnen
  176. Dies ist die erste Aktion, die man nach dem Laden des Programmes ausführen
  177. sollte. Hier lä₧t sich eine Datenbankdatei aufbauen. Diese kann aus den Sparten
  178. Langwort, Wort, Zeit, String und Datum bestehen. Der benötigte Speicherplatz,
  179. je neuer Sparte, ist hinter dem Spartentyp angegeben.
  180. Machen wir uns das an einem Beispiel klar: Bücherverwaltung.
  181. (Initial wird für jeden Datensatz 12 Bytes benötigt (Interne Verwaltung)) Titel
  182. des Buches: Stringtyp: Für die Stringlänge wählen wir 30. Dazu benötigen wir
  183. noch einen Autor. Wieder ein Stringtyp, diesmal mit Länge 25. Jetzt fehlt noch
  184. die Bestellnummer (oder was ähnliches): Langwort. Danach steht die Anzahl der
  185. benötigten Bytes je Datensatz auf 74, d.h. für jedes neue Buch, das später ein-
  186. gegeben wird, werden 74 Bytes im Hauptspeicher verbraucht (und auf
  187. (Hard)Disk 74-12=62 Bytes).
  188.  
  189. Bei Zeit- und Datumstypen ist noch ein Separator zu wählen, z.B. wählt man
  190. bei einem Datumstyp den Doppelpunkt, so wird ein Datum als z.B. 23:12:1992
  191. dargestellt. Der Separator gilt für alle Datumstypen, d.h. >=2 Datumstypen be-
  192. nutzen denselben Separator. Die Datumsdarstellung entspricht der europäischem
  193. Norm, Tag:Monat:Jahr und nicht diese Sch... Darstellung von Monat:Tag:Jahr,
  194. o.ä., welche die Amerikaner benutzen. 
  195. Bis zu 30 Sparten können insgesamt benutzt werden (kann ich auch hochsetzen,
  196. falls Bedarf besteht), aber soviel wird hoffentlich niemand benötigen. Nach Be-
  197. endigung wird die eingegebene Datenbankmaske in der Maskendatei (.msk) ab-
  198. gespeichert.
  199.  
  200. Hat man bereits eine Maskendatei eingegeben bzw. existiert bereits eine Da-
  201. tensatzdatei, kann man hier auch neue Sparten erzeugen und zu den schon vor-
  202. handenen hinzufügen. Dies führt, wie bei `Sparte entfernen` zu einem Einladen
  203. und darauffolgenden Abspeichern der Maskendatei und der Datendatei, falls die-
  204. se existiert. (Hier ist ein erneutes Abpseichern NICHT nötig).
  205. Achtung: Es ist (zur Zeit) nicht möglich die Stringlänge nachträglich zu ändern,
  206. also lieber etwas grö₧er dimensionieren. Die einzige Möglichkeit, die sich in
  207. dieser Richtung bietet, ist die Datei zu exportieren und danach wieder zu im-
  208. portieren. Im Dateiimporter lä₧t sich dann die Stringlänge vergrö₧ern bzw. ver-
  209. kleinern.
  210.  
  211.   8 - Info
  212. Hier wird man über folgendes informiert:
  213. a) Name und Pfad der eingeladenen, aktuellen, Datei.
  214. b) Datensatzlänge.
  215. c) Max. Anzahl von Datensätze und derzeit belegte Datensätze. 
  216. d) Selektierte Datensätze. Näheres über dies folgt später.
  217. e) Freier (Hard)Diskspeicher. Gilt für das aktuelle Laufwerk; die aktuelle Parti-
  218. tion.
  219. f) Speicherreservierung. Entspricht dem Wert, der in der Datei ║memal-
  220. loc.inf║steht. Je höher der Wert ist, desto mehr freie Datensätze sind vorhan-
  221. den.
  222. g) Freier Speicher au₧erhalb Easydat. Hier wird ein Malloc(-1) gemacht.
  223. h) Inf-Datei: Einstellung der Parameter die in der Easydat.inf Datei enthalten
  224. sind. Einstellungen sind erst nach nächsten Programmstart aktiv.
  225.  
  226.   9 - Zur Hauptausgabeseite
  227. Funktioniert nur, insofern eine Maskendatei im Speicher vorliegt. 
  228.  
  229.  
  230. II - Die Hauptausgabeseite
  231. ---------------------------------
  232.  
  233. Hier werden die Datensätze, Sparten und die eingegebenen Daten übersichtlich
  234. dargestellt. 
  235.  
  236. Zur Mausbedienung:
  237. Die Fensterelemente tun genau das, was sie tun sollen. Allerdings sollte man
  238. noch bemerken, da₧ ein Klick neben den Horizontalslider (nicht auf die Pfeile
  239. an den Enden, nicht auf den Slider selber) die Anzeige um drei Sparten nach
  240. rechts bzw. nach links verschiebt und nicht nur um eine. Die kleinen Zahlen
  241. links unten geben den ersten und letzten Datensatz an, bei einem Klick auf die-
  242. se wird zu demjenigen gesprungen. 
  243. Ein Klick auf ║Edit║ ruft die Eingabeseite(s.u.) auf. Ein neuer Datensatz kann
  244. darauf eingegeben werden.
  245. ║Sel║ ruft das Selektionsmenu und ║Sp:║ das Spartenmenu auf. 
  246. Klickt man auf eine Spartenüberschrift, dann erscheint diese in der ║Sp:║ Box.
  247. Klickt man auf die Spartennummern, links am Bildschirm, dann verwandelt sich
  248. der Mauszeiger in ein Kreuz und man kann auf ║Edit║ (Editieres dieses Daten-
  249. satzes) oder auf ║Müll║ (Löschen dieses Datensatzes) klicken. Die rechte Mau-
  250. staste bzw. das Herausfahren des Mauszeigers aus dem Fenster stellt den ur-
  251. sprünglichen Zustand wieder her. Klickt man auf die kleine rechteckige Box
  252. links vor der Datensatznummer, dann lä₧t sich dieser Datensatz (De-) Selektie-
  253. ren. Ist die Box ausgefüllt, dann ist der Datensatz selektiert. Ein Klick auf eine
  254. Datensatzzeile ruft die Eingabeseite auf. Ein Klick auf die Trennlinie zwischen
  255. 2 Datensätzen (Maustaste gedrückt halten) verwandelt den Mauszeiger und man
  256. kann diese Linie verschieben, um so, mehr oder weniger, von der Sparte sicht-
  257. bar zu machen. Die rechte Maustaste ruft ein Auswahlmenu auf.
  258.  
  259. Über die Tastatur sind im Grunde alle obigen Operationen ebenso auszuführen.
  260. Dies sind:
  261. Cursor Hoch/Runter: Ein Datensatz nach oben bzw. nach unten scrollen.
  262. Cursor Rechts/Links: Eine Sparte nach rechts bzw. nach links anzeigen.
  263. Shift Cursor Hoch/Runter: Eine halbe Seite hoch oder runter anzeigen.
  264. Control Cursor Hoch/Runter: Eine ganze Seite hoch oder runter anzeigen.
  265. Shift Cursor Rechts/Links: Drei Sparten nach rechts oder links anzeigen. 
  266. Clr: Sprung zum ersten Datensatz.
  267. Shift Clr: Sprung zum letzten Datensatz.
  268. Insert: Bildschirmanzeige beginnt mit der ersten Sparte.
  269. Shift Insert: Numerische Angabe eines Datensatze, ab welchem die Bildschir-
  270. mausgabe beginnt.
  271. n,p : Zeige nächsten bzw. vorherigen selektierten Datensatz an.
  272. Ziffern: Siehe Hilfeseite Nummer Eins im Programm.
  273. Return: Neuen Datensatz editieren.
  274. F10: Hauptmenu.
  275. F9: Spartenmenu.
  276. F8: Selektionsmenu.
  277. F7: Wechsel von 16 Pixel hohen Buchstaben zu 8 Pixel hohen Buchstaben und
  278. umgekehrt.
  279. F6: Weitere Optionen. (Ist normalerweise zu finden im Spartenmenu).
  280. F5: Spartentrennstrichänderungsmenu (31 Buchstaben!) 
  281. (Obige Auflistung findet sich auch auf der Hilfeseite)
  282.  
  283. Anmerkung: Die Datensätze werden immer so dargestellt, so da₧ der Bildschirm
  284. maximal gefüllt ist. Deshalb befindet sich, wenn man z.B. zum letzten Daten-
  285. satz springt, dieser nicht als allererster, links oben, auf dem Bildschirm.
  286.  
  287.  
  288. II.a - Das Spartenmenu
  289. ------------------------
  290.  
  291. Die meisten der folgenden Funktionen sind nur auswählbar, falls eine Sparte in
  292. der Box mit der Schrift ║Sp:║ angezeigt ist.
  293.  
  294.   1 - Darstellung der Sparte(n).
  295. Hier lä₧t sich auswählen, ob die Gesamtheit aller Sparten bzw. die selektierte
  296. Sparte linksbündig, zentriert oder rechtsbündig ausgegeben wird/werden. 
  297.  
  298.   2 - Suchen.
  299. Suche ist möglich in allen Sparten oder in der selektierten Sparte. Wildcards
  300. wie * und ? sind erlaubt. Soll * oder ? in der ursprünglichen Bedeutung benutzt
  301. werden ist ein \ voranzustellen. Gro₧- und Kleinschrift wird, je nach gewählter
  302. Schalterstellung unterschieden. Weiterhin lä₧t sich noch einstellen ob ab Daten-
  303. satz Nummer 1, oder ob ab dem Datensatz, welcher derzeit auf dem Bildschirm
  304. als erster angezeigt wird, angefangen wird zu suchen. Ist der Ausdruck gefun-
  305. den, dann lä₧t sich weitersuchen bzw. der gefundene Datensatz selektieren.
  306. Drücken einer Taste, während des Suchens, führt zu einem Abbrechen derselbi-
  307. gen.
  308.  
  309.   3 - Suchen & Ersetzen.
  310. Entspricht obigen Suchen. Wildcards können hier jedoch nicht im Suchbegriff
  311. verwendet werden.
  312.  
  313.   4 - Sparte sortieren
  314. Die ausgewählte Sparte wird mittels eines iterativen Quicksort sortiert. Dies ist
  315. recht schnell. Die Sortierrichtung (Aufsteigend/Absteigend), wie auch der Sor-
  316. tierbereich (Datensatz x bis Datensatz y) lä₧t sich einstellen. Neu dazugekom-
  317. men ist die Sekundärsortierung. Machen wir dies an einem Beispiel klar. Ver-
  318. waltung einer Bücherliste. Vom Autor X gibt es 10 verschiedene Bücher(titel)
  319. und vom Autor Y 5 Titel. Nach der Sortierung nach dem Autor sind die Bücher-
  320. titel total ungeordnet. Durch Sekundärsortierung lassen sich diese nun nachträg-
  321. lich ordnen. In den Spartebox mu₧ die Sparte Autor eingestellt sein. Beim Auf-
  322. rufen von 'Sortieren' und Auswählen von Sekundärsortierung klickt man auf die
  323. Sparte mit den Buchtiteln und das Programm sortiert nun diese, abhängig von
  324. den unterschiedlichen Autoren, untereinander. Es wird also immer nachgesehen
  325. wie oft ein Autorenname n-mal untereinander vorkommt und sortiert dann den
  326. jeweiligen Bereich nochmals nach der Sekundärsparte.
  327. Eine Testsortierung mit 10000 Datensätzen der Länge 260 Bytes je Datensätze
  328. ergab eine Sortierzeit von 3:20 Min. Da Quicksort O(n*log(n)) hat, kann man
  329. sich auf diese Weise ausrechnen wie lange es etwa dauert seine Datenbank zu
  330. sortieren. (Obiges Sortieren erfolgte auf auf einem MegaSTE. Bei einem alten
  331. ST ist also die Zeit verdoppeln.)
  332.  
  333.  
  334.   5 - Überschrift ändern
  335. Eine neue Spartenüberschrift lä₧t sich eingeben.
  336.  
  337.   6 - Sparte verschieben
  338. Es erscheint ein Kreuzcursor. Nun kann man auf eine Spartenzeile auf dem
  339. Bildschirm klicken. (Rechte Taste: Abbruch). Danach kann man auswählen, ob
  340. die selektierte Sparte vor die angeklickte oder hinter die angeklickte geschoben
  341. wird, oder ob beide Spartenpositionen vertauscht werden sollen.
  342.  
  343.   7 - Weitere Optionen
  344. Siehe unten.
  345.  
  346.  
  347. II.b - Weitere Optionen
  348. ---------------------------
  349.  
  350. Der Aufruf erfolgt über die Tastatur oder im Spartenmenu. Folgende Komman-
  351. dos stehen bereit:
  352.  
  353.   1 - Spartentrennstrichpositionen ändern
  354. Siehe Spartentrennstrichänderungsmenu.
  355.  
  356.   2 - Datumsseparator ändern
  357. Es lä₧t sich einer neuer auswählen. (. , - oder / )
  358.  
  359.   3 - Zeitseparator ändern
  360. Es lä₧t sich ein neuer auswählen. ( : oder ` )
  361.  
  362.   4 - Inhalt aller Datensatze in Sparte löschen
  363. Der Inhalt alle Stringtypen wird auf einen Leerstring gesetzt, der Inhalt von In-
  364. teger- und Langworttypen wird auf Null gesetzt. Bei Datumtypen und Zeittypen
  365. ist diese Operation nicht möglich.
  366.  
  367.   5 - Inhalt aller selektierten Datensätze in Sparte löschen
  368. Dasselbe wie oben, nur eben für alle selektierten Datensätze.
  369.  
  370.  
  371.  
  372. II.c - Spartentrennstrichänderungsmenu
  373. ---------------------------------------------
  374.  
  375. Dieses Menu ist über F5 bzw. im ║Weitere Optionen║ Menu aufzurufen.
  376.  
  377.   1 - Derzeitige Positionen in Puffer aufnehmen
  378. Jede Sparte wird in einer bestimmten Breite auf dem Bildschirm dargestellt.
  379. Diese Werte werden nun in einem Puffer übernommen.
  380.  
  381.   2 - Positionen aus Puffer wiederherstellen
  382. Die Ursprüngliche Breite aller Sparten wird wieder aus dem Puffer ausgelesen
  383. und wiederhergestellt.
  384.  
  385.   3 - Breite von allen Sparten auf x Zeichen Breite
  386. Die Breite aller Sparten wird auf einen festen Wert eingestellt. Diese Funktion
  387. ist dazu gedacht, um schnell alle Sparten möglichst platzsparend auf dem Bild-
  388. schirm darzustellen, um so z.B. Sparten schnell an eine andere Stelle verschie-
  389. ben zu können.
  390.  
  391.  
  392. II.d - Hauptmenu
  393. ------------------
  394.  
  395.   1 - Datei verwerfen und Maskenmenu
  396. Es erfolgt eine Abfrage. 
  397. Diesen Menueintrag sollte man auswählen, wenn man vorhat das Programm zu
  398. verlassen.
  399.  
  400.   2 - Abspeichern und Maskenmenu
  401.  
  402.   3 - Abspeichern
  403.  
  404. Bei obiger Funktion und dieser kann auch unter einem neuen Namen abgespei-
  405. chert werden. Weiterhin erfolgt keine automatische Backup-Generierung der ab-
  406. gespeicherten Dateien. (Falls Bedarf besteht, baue ich es ein.) Dies sollte man
  407. des öfteren von Hand erledigen.
  408. Es ist nicht möglich MIT der aktuellen Datei im Speicher in das Maskenmenu
  409. zu gelangen, ohne das vorher die Datei abgespeichert wurde. Dies soll verhin-
  410. dern, da₧ es zu grö₧eren Ärgernissen kommt, falls man im Maskenmenu neue
  411. Sparten anfügt oder auch Sparten löscht, da diese Operationen direkt von der
  412. (Hard)Disk aus erfolgen.
  413.  
  414.   4 - Datensätze hinzuladen
  415. Datensätze werden aus einer Datendatei zu der Datei im Speicher hinzugeladen.
  416. Die Maskendateien beider Dateien müssen übereinstimmen.
  417.  
  418.   5 - Datei löschen
  419. Ist identisch zu der Funktion im Maskenmenu.
  420.  
  421.   6 - Dateiausgabemenu (Disk/Drucker)
  422. Siehe Dateiausgabemenu
  423.  
  424.   7 - Lösche Datensatze x bis y
  425. Alle Datensätze innerhalb 2 Grenzen werden gelöscht.
  426.  
  427.   8 - Info
  428. Ist identisch zu der Funktion im Maskenmenu
  429.  
  430.  
  431. II.e - Selektionsmenu
  432. ----------------------
  433.  
  434. Um die aufgeführten Funktionen zu benutzen sollten wenigstens ein paar Daten-
  435. sätze selektiert sein.
  436.  
  437.   1 - Alle selektierten Datensätze abspeichern
  438. Unter dem altem oder einem neuen Namen werden alle selektierten Datensätze
  439. abgespeichert. Falls ein neuer Name gewählt wird, werden zwei völlig neue, un-
  440. abhängige Dateien, erzeugt (Eine Masken- und eine Datendatei).
  441.  
  442.   2 - Alle selektierten Datensätze löschen
  443. Alle selektierten Datensätze werden aus dem Speicher entfernt.
  444.  
  445.   3 - Selektierte Datensätze vor unselektierte schieben
  446. Nach Auführung der Operation befinden sich die selektierten Datensätze an den
  447. Positionen 1 .. n.
  448.  
  449.   4 - Selektionsmarken löschen
  450. Nach Ausführung des Kommandos sind keine Datensätze mehr selektiert. Es er-
  451. folgt keine Sicherheitsabfrage.
  452.  
  453.   5 - Verschiebe Selektionsblock (ab x) hinter y
  454. Ein Selektionsblock umfasst den zuletzt selektierten Datensatz und alle durch-
  455. gehend darunterliegenden Datensätze. Der Rest der Operation ist einsichtig. Ist
  456. für jene gedacht die noch mehr Ordnung in ihre Datei bringen wollen.
  457.  
  458.   6 - Suchen und Selektieren
  459.  
  460. Entspricht dem Suchen im Spartenmenu, allerdings lassen sich hiermit die Da-
  461. tensätze so durchsuchen, ohne da₧ jedesmal eine Meldung erfolgt, falls ein Be-
  462. griff gefunden worden ist. In diesem Fall wird der gefundene Datensatz selek-
  463. tiert und es wird automatisch weitergesucht.
  464.  
  465.  
  466. III - Die Eingabeseite
  467. -------------------------
  468.  
  469. Editiert man einen neuen oder schon vorhandenen Datensatz, dann landet man
  470. auf dieser.
  471.  
  472. Mausbedienung:
  473. 'OK' checkt alle Eingabe auf einer Seite durch und bringt, falls kein Eingabe-
  474. fehler vorhanden ist, den nächsten Datensatz auf den Bildschirm.
  475. Der Cursor lä₧t sich mittels der linken Maustaste plazieren. Ist ein Stringdaten-
  476. typ zu lange, so da₧ die Zeile nicht ganz auf den Bildschirm pa₧t, so lä₧t sich
  477. die Zeile, indem man an ihr rechtes oder linkes Ende klickt, nach rechts bzw.
  478. nach links scrollen. Ein Klick auf die Box mit der Datensatznummer lä₧t eine
  479. Auswahlbox auf dem Bildschirm erscheinen, mit welcher man einen anderen Da-
  480. tensatz auswählen kann (Diese Box lä₧t sich auch über die Cursortasten und
  481. Return bedienen). Der untere Vertikalslider dient zur Auswahl eines Datensatzes
  482. (identisch zur obigen Auswahlbox), der rechte Horizontalslider zur Anzeige wei-
  483. terer Sparten, falls diese nicht alle auf den Bildschirm passen.
  484. Die rechte Taste ruft das Eingabeseitenmenu auf.
  485.  
  486. Tastaturbedienung:
  487.  
  488. Insert: Wechsel vom Insert zum Überschreibmodus und zurück. Ist der Insert-
  489. modus aktiv erscheint ein ausgefüllter Kreis über und unter dem vertikalen OK
  490. Schriftzug.
  491. Shift Cursor Links/Rechts: Sprung an den Anfang / das Ende der Zeile.
  492. Shift Cursor Hoch/Runter: Blättern (falls nicht alle Sparten auf Bildschirm pas-
  493. sen)
  494. Control Cursor Links/Rechts: Sprung zum vorherigen / nächsten Wortanfang.
  495. Control Cursor Hoch/Runter: Sprung zum vorherigen/nächsten Datensatz.
  496. Esc/Shift Delete: Löscht Eingabezeile.
  497. Tab/Shift Tab: Cursor 8 Zeichen vor/zurück.
  498. Shift Control Cursor Links/Rechts: Zeile scrollen, falls sie nicht ganz auf Bild-
  499. schirm pa₧t.
  500.  
  501. Return/Enter: Eingabezeile überprüfen und gegebenenfalls übernehmen. Hier
  502. kann z.B. eine Wertebereichsüberschreitung bei Integer- oder Langworttypen
  503. vorkommen. Auch kann ein falsches Datums- oder Zeitformat vorliegen. Erst
  504. durch Return werden die Eingaben in den Datensatz übernommen. Ändert man
  505. etwas in einer Zeile und verlä₧t dann direkt die Eingabeseite ohne vorher Re-
  506. turn zu drücken, so ist das Eingegebene nicht(!) in den Datensatz übernommen
  507. worden. Drückt man Return bei Zeit- oder Datumstypen, ohne eine Eingabe ge-
  508. macht zu haben, dann wird die aktuelle Systemzeit/Systemdatum übernommen.
  509. Shift+Return checkt alle Eingaben durch und springt zum nächsten Datensatz.
  510.  
  511. Shift Clr: Zeit- bzw. Datumsseparator ändern.
  512. Shift Insert: Eingabebox und Sprung zu eingegebenem Datensatz.
  513.  
  514. Shift F1 - F9: Eingabezeile in Puffer 1..9 übernehmen.
  515. F1-F9: Puffer 1..9 in Eingabezeile ab Cursorposition kopieren.
  516. Control Funktionstaste: Zeige Pufferinhalte 1..9 an.
  517.  
  518. Die Inhalte der Puffer werden mit abgespeichert.
  519.  
  520. Shift Help: Inhalt der Sparte des vorherigen Datensatzes in diesen Datensatz
  521. kopieren.
  522.  
  523. Control b: Cursorblinken an/aus. 
  524. Control s: Datensatz (De-)Selektieren. In der unteren Spartennummernanzeige
  525. erscheinen 2 Punkte.
  526. Control n/p: Springe zu nächstem/vorherigem selektierten Datensatz.
  527.  
  528. F10: Rufe Menu auf.
  529.  
  530. III.a - Datensatzeingabeseitenmenu 
  531. -------------------------------------
  532.  
  533.   1 - Exit
  534. Zurück zur Hauptausgabeseite.
  535.  
  536.   2 - Lösche Datensatz und Exit
  537. Klar.
  538.  
  539.   3 - Lösche Datensatz
  540. Klar. Keine Sicherheitsabfrage.
  541.  
  542.   4 - Neues Datensatz hinter diesem einfügen.
  543. Ruft man auf der Hauptausgabeseite ║Edit║ auf, so wird ein neuer Datensatz
  544. immer hinter dem letzten vorhandenen angehängt. Hier lä₧t sich ein neuer Da-
  545. tensatz hinter dem angezeigten erzeugen, um so nachträgliches Sortieren zu er-
  546. sparen, z:B. bei gro₧en Datensatzdateien.
  547.  
  548.   5 - Hilfsseite.
  549.  
  550.  
  551. IV - Export
  552. --------------
  553.  
  554. Dieses Kommando ist nur im Maskenmenu zu finden. Es findet (leider) (nur) ein
  555. Ascii Export statt.
  556.  
  557.   1 - Exportieren von Datensatzdatei
  558. Ein Datei ist auszuwählen.
  559.  
  560.   2 - Exporteinstellungen
  561. Es erscheinen die folgenden Menuoptionen:
  562.   
  563.   2.1 - Alle Sparten exportieren bzw. Nur selektierte Sparten exportieren
  564. Je nach Modus erscheint einer der beiden Einträge.
  565.  
  566.   2.2 - Spartenselektion
  567. Es erscheint eine Auswahlseite, in welcher über die Maus bzw. die Tastatur alle
  568. Sparten ausgewählt werden können, die exportiert werden sollen. Ist die Spar-
  569. tennummer invers dargestellt, dann ist die Sparte zum exportieren ausgewählt.
  570. Passen nicht alle Sparten auf eine Bildschirmseite, dann lä₧t sich über die Maus
  571. bzw. über die Cursortasten blättern.
  572.  
  573.   3 - Option: Einfach bzw. Option: Doppelt
  574. Siehe nächster Menupunkt.
  575.  
  576.   4 - Sparten- und Datensatztrennoperatoren ändern
  577. Die Spartentrennoperatoren werden hinter jede Sparte in der Ausgabedatei ge-
  578. schrieben, der Datensatztrennoperator hinter jeden vollständigen Datensatz. 
  579. Machen wir ein Beispiel: Der Spartentrennoperator sei ║13 10║ (1*Return), der
  580. Datensatztrennoperator ║13 10 13 10║ (2*Return). Ein Beispieldatensatz enthalte
  581. 3 Sparten (2 Strings und 1 Integer). Der Inhalt der Strings sei ║Hello║ und
  582. ║World║ und der des Integertyps 32. Hinter jede Sparte wird nun ║13 10║ in die
  583. Datei geschrieben. Da ║13 10║ intern als Carriage Return mit Linefeed angese-
  584. hen wird, wirkt das ganze so, da₧ der nächste Eintrag in die folgende Zeile ge-
  585. schrieben wird. Der Datensatztrennoperator wird als letztes noch angefügt. Man
  586. erhält dann die folgende Ausgabedatei (Option: Doppelt):
  587. -SOF- (Start of File)
  588. Hello
  589. World
  590. 32
  591.  
  592.  
  593. -EOF- (End of File)
  594. Natürlich sind auch andere (fast) beliebige Werte möglich, nur sollte man nur
  595. solche Operatoren verwenden, die nicht im normalen Standardzeichensatz be-
  596. nutzt werden, sonst könnte es bösen Ärger beim Importieren der Datei in eine
  597. andere Datenbank geben.
  598. Zur Option Einfach und Doppelt aus Menupunkt 3: Bei Option Einfach wird hin-
  599. ter der letzten Sparte eines Datensatzes NICHT noch einmal der Spartentren-
  600. noperator geschrieben, sondern direkt der Datensatztrennoperator. Bei Option
  601. Doppelt wird noch einmal der Spartentrennoperator geschrieben und danach di-
  602. rekt der Datensatztrennoperator (wie im obigen Beispiel).
  603.  
  604.  
  605. V - Dateiausgabemenu (Disk/Drucker)
  606. --------------------------------------------
  607.  
  608. Die Datendatei kann entweder auf einen Drucker oder in eine Diskettendatei
  609. geschrieben werden, z.B. zum Ausdrucken mittels Idealist(tm) oder einem ähnli-
  610. chen Programm.
  611.  
  612.   1 - Drucken
  613. Die Datei wird auf (Hard)Disk oder auf einem Drucker ausgegeben. 
  614. Hier wird zuerst die maximale Zeilenlänge ausgerechnet. Ist die Zeilenlänge
  615. grö₧er als die maximale Druckerausgabezeilenlänge(siehe Menupunkt 2) erfolgt
  616. kein Ausdruck. Die Ausgabe lä₧t sich durch Druck auf eine Taste unterbrechen
  617. und gegebenenfalls abbrechen.
  618.  
  619.   2 - Druckereinstellungen ändern
  620. Die zu benutzenden Steuercodes kann man ruhigen Gewissens im Grunde als
  621. Standardsteuercodes bezeichne. Sie dürften wohl nur bei exotischen Druckern
  622. verschieden von den voreingestellten Werten sein.
  623.  
  624. Es erscheint ein Menu mit den folgenden Optionen:
  625.  
  626.   2.1 - Linker Rand: x, Rechter Rand: y
  627. Druckerausgabe fängt an ab dem x. Zeichen und läuft bis zu dem y. Zeichen.
  628.  
  629.   2.2 - Condensed Modus an: (Max. 5 Werte)
  630. Bis zu 5 Steuercodes werden zum Drucker gesendet um den Condensed Schrift-
  631. modus anzuschalten. Nähere Infos darüber liefert die jeweilige Anleitung des
  632. Druckers. Die gesamte Ausgabe erfolgt IMMER im Condensed Modus.
  633.  
  634.   2.3 - Condensed Modus aus: (Max. 5 Werte)
  635. Auschalten des obigen Condensed Modus.
  636.  
  637.   2.4 - Zeilenabstand 1/6: (Max. 5 Werte)
  638. Dies dürfte der normale Zeilenabstand sein, der bei Einschalten des Druckers
  639. vorhanden ist. Nähere Infos in der jeweiligen Anleitung des Druckers.
  640.  
  641.   2.5 - Zeilenabstand 1/8: (Max. 5 Werte)
  642. Zeilenabstand ist gering, die Ausgabezeilen stehen enger untereinander Steuer-
  643. codes mü₧ten in der Anleitung des Druckers zu finden sein.
  644.  
  645. 2.6 - Abbildung der deutschen Sonderzeichen auf Druckcodes.
  646. Trifft das Programm beim Ausdruck auf ein deutsches Sonderzeichen
  647. (äöüÄÖÜ₧), dann wird dieses durch den hier angegeben Code ersetzt.
  648.  
  649.   2.7 - Zeilen je Seite (1/6): x, Zeilen je Seite (1/8): y, Zeichen je Zeile: z
  650. Die x und y Werte sind nur relevant, falls im Einzelseitenmodus ausgedruckt
  651. wird. Der z Wert ist die Anzahl der Zeichen pro Zeile im Condensed(!) Modus.
  652.  
  653.   2.8 - Andere .prn Datei laden
  654. Eine andere Druckereinstellungsdatei wird geladen.
  655.  
  656.   2.9 - Druckereinstellungen speichern
  657. Die hier eingestellten Werte werden abgespeichert.
  658.  
  659.  
  660.   3 - Ausdruckoptionen
  661.  
  662. Es erscheint ein Menu mit den folgenden Optionen.
  663.  
  664.   3.1 - Datensatznumerierung an/aus
  665. Klar. Werden nur die selektierten Segmente ausgegeben, dann wird AUCH von
  666. 1..n durchnumeriert.
  667.  
  668.   3.2 - Ohne Spartentrennseparator bzw. Mit Spartentrennseparator ║I║ bzw. ║!║
  669. Klar.
  670.  
  671.   3.3 - Normaler bzw. Geringer Zeilenabstand
  672. Klar. Hat keinen Einflu₧ bei Ausgabe auf (Hard-)Disk.
  673.  
  674.   3.4 - Alle Datensätze ausgeben bzw. Nur selektierte Datensätze ausgeben.
  675. Klar.
  676.  
  677.   3.5. - Alle Sparten ausgeben bzw. Nur selektierte Sparten ausgeben.
  678. Klar.
  679.  
  680.   3.6. - Spartenselektion
  681. Es erscheint eine Auswahlseite, in welcher die Sparten angegeben werden kön-
  682. nen, die ausgegeben werden sollen.
  683.  
  684.   3.7 - Sparten werden ganz ausgedruckt bzw. Spartentrennstriche geben max.
  685. Ausdrucksweite an
  686. Wählt man die 2. Möglichkeit, dann stellen die Trennstriche, die auf der Haup-
  687. tausgabeseite eingestellt sind, die Spartenausgabebegrenzung dar. 
  688. Sind Sparten zentriert oder rechtsbündig eingestellt werden die Sparten entspre-
  689. chend ausgegeben.
  690.  
  691.   3.8 Ausdruck Endlos bzw. Einzelseiten
  692. Die erste Möglichkeit sollte nur bei Endlospapier verwendet werden. Wählt man
  693. die 2. Möglichkeit an, erscheinen die folgenden Menueinträge:
  694.  
  695.   3.8.1 - Mit bzw. ohne Seitennumerierung
  696. Klar.
  697.  
  698.   3.8.2 - Spartenüberschriften auf jeder Seite bzw. nur auf erster Seite
  699. Klar.
  700.